Microsoft Visual Basic doesn't merely offer you a visual environment for creating your application's user interface in almost no time. It also includes a powerful programming language, Visual Basic for Applications (VBA), that lets you manipulate controls, files, databases, objects exposed by other applications, and so on. This chapter and the next one focus on many aspects of the VBA language, including a few under-documented features and several ways to improve performance. As usual, I assume that you're familiar with the basics of programming, so I won't spend too much time explaining what a variable is, the difference between integer and floating point types, and so on. This assumption lets me focus on the more interesting topics and the new features that have been introduced in Visual Basic 6.